Applications executed by computing devices are often used to simulate virtual worlds with computer-controlled characters. Such virtual worlds may be used, for example, in video games, in training programs, or in educational programs, among other uses. Many separate computer-controlled characters, also known as non-player characters, may be included in a single virtual world. This is particularly true in the illustrative example of large-scale virtual worlds, which may be used in single-player or multi-player computer games, for example. Other useful applications using less extensive virtual worlds may include, for example, a virtual assistant that may answer questions or otherwise provide help to a user. Virtual worlds and computer-controlled characters support a broad range of applications that have demonstrated a strong and persistently growing demand. There is correspondingly a great interest in improving the sophistication with which game players and other users of virtual worlds may interact with virtual worlds and computer-controlled characters.
Interaction with computer-controlled characters has been of limited sophistication, due in part to the labor required to try to anticipate and author user dialog elements that a computer-controlled character can recognize, and computer-controlled character dialog elements that a computer-controlled character can use appropriately to respond to the user dialog elements. Authoring dialog for virtual worlds is costly and does not scale well. Every increase in the size and sophistication of the possible dialog interactions between users and computer-controlled characters, requires the additional labor of manually authoring each new dialog element. Costs associated with such manual dialog authoring are a significant factor in constraining virtual world developers to narrow the scope of possible dialog and restrict the options available to users of the virtual world. Developers of virtual worlds in general are very interested in increasing the variety and sophistication of computer-controlled character dialog and creating the illusion of intelligence in computer-controlled characters, but that illusion is quickly dispelled when a user attempts to engage in dialog that is outside the range that was previously authored for the computer-controlled character. While it is physically possible to keep authoring more and more dialog elements that a computer-controlled character can recognize and use in response, in practice this is severely limited by the amount of investment in developer time and effort that can be justified by the utility of the virtual world, so that dialog authoring beyond nominal limits of sophistication can become prohibitively expensive.
The discussion above is merely provided for general background information and is not intended to be used as an aid in determining the scope of the claimed subject matter.